草庐IT

MySQL ORDER BY 多列 ASC 和 DESC

全部标签

mysql - MySQL 中的多列正则表达式搜索

我正在尝试使用正则表达式在我的数据库中搜索多个列。它可以工作,但使用许多和/或语句。我想知道是否可以使用这样的东西;SELECT*FROMtableREGEXP'regex'IN(col1,col2,col3,.....)这不行,这是对语法的猜测,因为我通过在线搜索找不到类似的东西。这是一个愚蠢的想法还是我错过了一些非常简单的事情? 最佳答案 如果你想regexp在多个列中搜索一个值,那么你可以这样做:SELECT*FROMtablewhereCONCAT(col1,col2,col3)REGEXP'search-pattern';

mysql - 如何对sql中多列的相似值进行选择

我有两个包含列的表:GenresIDgenre和AdjectivesIDadjective_title我需要执行一个选择,使用like语法从两个表列返回匹配值。例如,如果ep是使用like输入的值,结果将如下所示:result_column:--------------epiphonic--(fromgenrestable)epic--(fromadjectivestable)等等。..我很确定我需要使用子查询来返回结果。 最佳答案 试试这个SELECTgenreASresultFROMgenresWHEREgenreLIKE'%e

mysql - SQL:将多列合二为一进行排序(只输出)

我有这样一个数据库:|--------------------------------------------------------------------------||NAME|SCORE1|SCORE2|SCORE3|SCORE4|RATING||--------------------------------------------------------------------------||JoeBloggs|-50|0|-10|-30|67||BobBobbing|-30|-10|0|-10|74||MarjorieDoors|0|-10|-30|-50|88||etc

mysql - 在第二个基于多列连接表

我有两个表Place和Post我需要生成输出place--------------std_idsch_id112231435462758395104和Post------------sch1_idsch2_idsch3_idsup_id12313242我需要生成以下输出sup_idsch_idstd_id1111131221261341382342382222262452410我试过了SELECTpl.std_id,po.sup_idFROM`place`pl,`post`poWHEREpl.sch_id=po.sch1_idgroupbypo.sup_id得到这个|std_id|su

php - 在mysql中选择多列的不同行

我有一个名为sk_messages的表。它的结构如下所示:msg_idmsg_from_user_idmsg_to_user_idmsg_textmsg_datemsg_status11214hai...23-12-2013unread21214.......unread31314.....unread我的要求是,我想显示当前用户的所有消息,条件是即使发件人发送了多条状态为未读的消息,也应显示一条消息。也就是说,从上面的上下文来看,应该显示ID为12的用户的单条消息。我尝试了以下查询,但它不起作用。SELECTDISTINCT(msg_from_user_id),msg_text,ms

mysql - 是否可以在 case 语句中按 "DESC/ASC"更改顺序 - MySql

我有一个带有命令排序的选择语句。现在orderby命令有一个基于记录状态的case语句,它按不同的列排序。但是,如果状态=1,我还需要按DESC排序,否则按ASC排序。我该怎么做?这是我目前的声明:SELECTph.phone_call_idASid,ph.call_subjectAScallSubject,ph.trigger_onAStriggerOn,ph.isAppointment,IFNULL(ph.last_attempt_on,"")last_attempt_on,ind.nameASindustry,ac.account_id,ac.account_nameASacco

mysql - 使用 Anorm 批量插入具有许多列的表

我正在尝试使用Anorm(在playframework2.3.1中)对MySQL数据库表进行批量插入。我正在构建的应用程序除了需要批量数据插入外,还有一个标准的Web前端,我想尝试将逻辑保持在同一个软件堆栈上。插入只会进入相同的几个表。一次要插入的行数将达到数百,可能会达到数千,我预计由于anorm/mysql/其他限制,我可能需要在某个时候限制插入的行数。我使用的MySQL驱动是mysql-connector-java-5.1.31下面是一个简化的用例。使用表格:CREATETABLEtable1(col1INTEGERNOTNULL,col2BIGINT,col3VARCHAR(2

mysql - 多列 IN 子句

有没有办法只使用一个使用多列IN子句的查询来实现以下联合查询?而不是使用select*fromtable_awherefield_ain(selectfield_1fromtable_b)unionselect*fromtable_awherefield_ain(selectfield_2fromtable_b);我想创建如下所示的内容:select*fromtable_awherefield_ain(selectfield_1,field_2fromtable_b); 最佳答案 最多只能将联合放在子查询中:select*fromt

mysql - MySQL 中 "ORDER BY order DESC"附近的语法错误

这个问题在这里已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL(1个回答)关闭8个月前。为什么当我尝试通过查询进行排序时,总是会收到一条错误消息,提示我通过ORDERBY'order'DESC检查语法?这是我的查询:SELECT*FROMpostsORDERBYorderDESC;我做错了什么?

mysql - ORDER BY ... ASC 很慢, "Using index condition"

我有2个表:user和post。使用showcreatetable语句:CREATETABLE`user`(`user_id`bigint(20)NOTNULLAUTO_INCREMENT,`user_name`varchar(20)CHARACTERSETlatin1NOTNULL,`create_date`datetimeDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`user_id`))ENGINE=InnoDBAUTO_INCREMENT=59DEFAULTCHARSET=utf8;CREATETABLE`post`(`post_id`int(10)u